草庐IT

java - AsyncTask 可变参数的用途

全部标签

javascript - 为什么几个 javascript 库将 $ 用于一种或另一种用途

我见过几个使用$的javascript库,例如jQuery、mootools、prototype等,甚至一些关于javascript的书籍也建议使用$作为document.getElementById的函数替代品。这只是随机事件吗? 最佳答案 在ECMA规范中实际上将$作为有效变量名引入的原因是为了区分机器生成的代码和人类编写的代码。大多数JS库使用$是因为你很少想命名你的一些变量$,因此它可以避免变量的冲突和意外覆盖。(但是现在因为每个库都在使用$,如果你想使用两个库,你就麻烦了)。

javascript - 如何在 JavaScript 中取消移位或添加到参数对象的开头

我刚刚学习了conventionforpoppingoffthefirstelementoftheargumentsarray(我还了解到它实际上是一个Object)。现在我需要做相反的事情。我需要使用unshift操作将值添加到arguments数组(或像数组一样的Object)的开头。这可能吗?我试过:Array.prototype.unshift.apply('hello',arguments);这对arguments没有任何影响。 最佳答案 使用.call()而不是.apply()来调用unshift()将arguments

JavaScript 数字 - 不可变

我来自c#背景,其中不可变是通过publicget和privateset属性实现的。我读过javascript中的数字是不可变的,所以我该如何执行以下操作varx=6/2;console.log(x);//3x=8;console.log(x);//8我已经更改了x,我以为我不能? 最佳答案 数字本身是不可变的。存储在变量中的对它们的引用不是。因此6/2为您提供了对不可变3的引用,然后=8为不可变分配了一个新引用>8. 关于JavaScript数字-不可变,我们在StackOverflo

javascript - 如何删除 URL 中的参数并将其显示在地址栏中而不会导致 Javascript 中的重定向?

我找到了很多关于如何在没有参数的情况下提取URL的答案。如何重写地址栏中的URL而不会导致页面使用新URL重新加载?shortURL=top.location.href.substring(0,top.location.href.indexOf('?'));top.location.href=shortURL//Causesredirect目标是提取Javascript中的参数,但不在地址栏中显示。 最佳答案 在支持History对象的现代浏览器中,您可以使用history.replaceState()或history.pushSt

javascript - 将附加参数传递给 Javascript 回调函数

这个问题在这里已经有了答案:Passanextraargumenttoacallbackfunction(5个答案)关闭6年前。我需要监视Node.JS应用程序中的少量目录:functionupdated(event,filename){log("CHANGED\t/share/channels/"+filename);}for(iinchannels)fs.watch('share/channels/'+channels[i],{persistent:false},updated);问题是fs.watch只将文件名传递给回调函数,而不包括它所在的目录。有没有办法我可以以某种方式将额外

Javascript for..in 遍历参数 ie.for(arg in arguments) 在 IE8 中不起作用,但在 Chrome 8 中有效

我遇到了这种奇怪的情况,其中foreach之类的javascript构造在IE中不起作用,但在FF中有效。不是所有的for..in只是这个特殊的函数不起作用。我会发布代码。在IE8中测试。还使用XHTMLDTD进行了测试。Test更新我发布了一个错误的问题,它在FireFox中有效但在IE8中无效,这是错误的。它在FireFox中也不起作用。实际上我从帖子JavaScriptequivalenttoprintf/string.format得到了这段代码. 最佳答案 首先,虽然arguments函数中可用的对象不是数组,它足够“类似数

javascript - 为什么 Segment.io 加载程序脚本将方法名称/参数推送到一个看似被覆盖的队列中?

我一直在剖析以下代码片段,它用于异步加载Segment.io分析包装器脚本://Createaqueue,butdon'tobliterateanexistingone!varanalytics=analytics||[];//Defineamethodthatwillasynchronouslyloadanalytics.jsfromourCDN.analytics.load=function(apiKey){//Createanasyncscriptelementforanalytics.js.varscript=document.createElement('script');s

javascript - 具有不同参数的 eventEmitter 监听器和发射器

我们能否为一个发射器设置多个监听器,每个监听器处理不同数量的参数?例如让事件发射器像这样:evetE.emit('pre',global,file,self);correspondingeventlisteners://Listener1m.eventE.on('pre',function(){//TODO})//Listener2eventE.on('pre',function(context,file,m){console.log(context.ans);});//Listener3eventE.on('pre',function(context){console.log(con

javascript - 当作为参数传递给 setTimeout 回调函数时,全局变量被记录为未定义

我有一些JS代码如下:varx=self.someAJAXResponseJSON;//xhassomeobjectvaluehere.setTimeout(function(x){console.log("InsetTimeout:",x);//Butxisundefinedhere},1000);所以我想将x传递给setTimeout回调函数。但是我在setTimeout中得到的x是未定义的。我做错了什么?知道如何使用Dojo.js解决类似问题吗?setTimeout(dojo.hitch(this,function(){this.executeSomeFunction(x);//

javascript - 使用需要参数的非匿名函数的 setInterval 必须在匿名函数内。为什么?

好的,我已经在这里和其他地方查看了几篇关于jquery/javascript中的setInterval的帖子,关于答案的烦人之处在于我没有了解解决方案为何有效。请考虑:使用匿名函数,我们可以设置警报以重复输出“兔子”:setInterval(function(){alert("bunnies")},3000);但是如果我们想使用一个非匿名函数我们必须编码setInterval(hop,3000);其中函数:functionhop(){alert("bunnies");}如果我们尝试编码:setInterval(hop(),3000);hop只执行一次。我不明白这是为什么。我已经阅读了关